"""
测试运行脚本
"""

import subprocess
import sys
import os

def run_tests():
    """运行所有测试"""
    print("🧪 开始运行TaskFlow测试套件")
    print("=" * 50)
    
    # 设置环境变量
    os.environ['FLASK_ENV'] = 'testing'
    
    try:
        # 运行单元测试
        print("📋 运行单元测试...")
        result = subprocess.run([
            sys.executable, '-m', 'pytest',
            'tests/',
            '-v',
            '--tb=short',
            '--color=yes',
            '--cov=app',
            '--cov-report=html',
            '--cov-report=term'
        ], check=True)
        
        print("✅ 所有测试通过！")
        print("📊 测试覆盖率报告已生成: htmlcov/index.html")
        
    except subprocess.CalledProcessError as e:
        print(f"❌ 测试失败，退出码: {e.returncode}")
        sys.exit(1)
    except FileNotFoundError:
        print("❌ 错误：未找到pytest，请先安装：pip install pytest pytest-cov")
        sys.exit(1)

if __name__ == '__main__':
    run_tests()
